#ifndef TRUCKINPUTMESSAGEQUEUE_H_
#define TRUCKINPUTMESSAGEQUEUE_H_

#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include "AbstractMessageQueue.h"
#include "../../common.h"


class TruckInputMessageQueue : public AbstractMessageQueue {

public:
	TruckInputMessageQueue() : AbstractMessageQueue()  {
	} 	

	virtual ~TruckInputMessageQueue() {
	}
	
	int enviarMensaje(TruckInputMsg msg) {
		int resultado = msgsnd(this->id, (const void *) & msg, sizeof(TruckInputMsg) - sizeof(long), 0);
		return resultado;
	}
	
	int recibirMensaje(long mtype, TruckInputMsg *msg) {
		int resultado = msgrcv(this->id, (void *) msg, sizeof(TruckInputMsg) - sizeof(long), mtype, 0);
		return resultado;
	}
};

#endif


